Microcomputers are sophisticated, general purpose logic devices which can be programmed to perform a wide variety of useful control functions in industrial and communications equipment, large-scale and medium-scale computer peripheral and terminal hardware, automobiles and other transportation media, amusement and education devices, and the like. Generally, an entire spectrum of microcomputers is presently available in the commercial marketplace. The MC6801 microcomputer which is commercially available from Motorola, Inc., is an 8-bit microcomputer comprising a CPU, 128 bytes of random access memory (RAM), 2K bytes of read only memory, a 16-bit timer, and four I/O ports for communicating with external equipment.
It is known in the microcomputer technology to provide dual functions for individual pins of the microcomputer chip. For example, the 8085A single-chip microcomputer commercially available from Intel Corporation employs a multiplexed address/data bus. The eight pins used as the external data bus connection are also used to carry the low-order address bits. In the Intel 8085A the multiplexed data/address capability is fixed, and the lines dedicated for such purpose cannot be used for other purposes.
It is desirable to provide a plurality of different functions to a port comprising a set of I/O pins in a microcomputer, which functions may be selectively programmed by the microcomputer user by application of appropriate programming information into the microcomputer, since in the commercial environment it is important to provide a diversity of possible configurations to the end user, while at the same time minimizing the total number of I/O pins in the microcomputer to minimize the production costs thereof.